#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2020-08-26 17:13:54
# @Author  : Zuo Zhongfei (zuozhongfei@126.com)
# @Link    : www
# @Version : $Id$

# 从一个模块中导入多个类,使用逗号（,）分割多个类
from car import Car, ElectricCar

# 引用字典模块的有序字典类，可以记录键值对的添加顺序
from collections import OrderedDict

# 引入外部模块中的类
from car import Car

# 导入整个外部模块，在内部调用模块中的类时，前面添加：模块名. 这样的调用很清晰，也易于阅读
import car

# 导入外部模块中的所有类：使用：模块名 inport *
# 不推荐这种导入方式，原因有二：
# 1：从导入语句中不能清晰的了解到导入了哪些类
# 2：可能会导入与当前模块中重名的类，引发难以斩断的错误

my_car = Car("audi", 500000)

my_car.describe_car()

my_tesla = ElectricCar("model X", 1000000)
my_tesla.describe_car()
my_tesla.describe_battery()

# 使用 ： 模块名.类名 的方法调用外部模块的类
my_benz = car.Car("benz s600", 3000000)
my_benz.describe_car()

favorite_languages = OrderedDict()
favorite_languages['xiaowang'] = 'python'
favorite_languages['xiaoli'] = 'c'
favorite_languages['xiaoming'] = 'java'

for name, language in favorite_languages.items():
    print(name.title() + "'s favorite language is " + language.title())
